home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 2010 April / PCWorld0410.iso / hity wydania / Ubuntu 9.10 PL / karmelkowy-koliberek-desktop-9.10-i386-PL.iso / casper / filesystem.squashfs / usr / lib / user-setup / functions.sh next >
Text File  |  2009-07-10  |  2KB  |  68 lines

  1. # Returns a true value if there seems to be a system user account.
  2. # OVERRIDE_SYSTEM_USER overrides this to assume that no system user account
  3. # exists.
  4. is_system_user () {
  5.     if [ "$OVERRIDE_SYSTEM_USER" ]; then
  6.         return 1
  7.     fi
  8.  
  9.     if ! [ -e $ROOT/etc/passwd ]; then
  10.         return 1
  11.     fi
  12.     
  13.         # Assume NIS, or any uid from 1000 to 29999,  means there is a user.
  14.         if grep -q '^+:' $ROOT/etc/passwd || \
  15.            grep -q '^[^:]*:[^:]*:[1-9][0-9][0-9][0-9]:' $ROOT/etc/passwd || \
  16.            grep -q '^[^:]*:[^:]*:[12][0-9][0-9][0-9][0-9]:' $ROOT/etc/passwd; then
  17.                 return 0
  18.         else
  19.                 return 1
  20.         fi
  21. }
  22.  
  23. # Returns a true value if root already has a password.
  24. root_password () {
  25.     if ! [ -e $ROOT/etc/passwd ]; then
  26.         return 1
  27.     fi
  28.     
  29.     # Assume there is a root password if NIS is being used.
  30.     if grep -q '^+:' $ROOT/etc/passwd; then
  31.         return 0
  32.     fi
  33.  
  34.     # Be more careful than usual about test arguments in the following,
  35.     # just in case (for example) the encrypted password string is "!".
  36.  
  37.     if [ -e $ROOT/etc/shadow ] && \
  38.        [ -n "`grep ^root: $ROOT/etc/shadow | cut -d : -f 2`" ] && \
  39.        [ "x`grep ^root: $ROOT/etc/shadow | cut -d : -f 2`" != 'x*' ] && \
  40.        [ "x`grep ^root: $ROOT/etc/shadow | cut -d : -f 2`" != 'x!' ]; then
  41.         return 0
  42.     fi
  43.     
  44.     if [ -e $ROOT/etc/passwd ] && \
  45.         [ -n "`grep ^root: $ROOT/etc/passwd | cut -d : -f 2`" ] && \
  46.         [ "x`grep ^root: $ROOT/etc/passwd | cut -d : -f 2`" != 'xx' ]; then
  47.             return 0
  48.     fi
  49.  
  50.     return 1
  51. }
  52.  
  53. password_is_empty () {
  54.     db_get user-setup/allow-password-empty
  55.     if [ "$RET" = true ]; then
  56.         return 1 # don't consider this as empty if explicitly allowed
  57.     fi
  58.     [ -z "$1" ]
  59. }
  60.  
  61. password_is_weak () {
  62.     db_get user-setup/allow-password-weak
  63.     if [ "$RET" = true ]; then
  64.         return 1 # don't consider this as weak if explicitly allowed
  65.     fi
  66.     [ "$(printf %s "$1" | wc -c)" -lt 8 ]
  67. }
  68.